iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Modern Web

Node.js 從零開始系列 第 22

Node.js - 排序功能:orderByChild()排序、forEach()遍歷資料

  • 分享至 

  • xImage
  •  

node

此次練習使用下方資料,並寫入到資料庫,:

sort.js

const data = {
  tim: {
    hight: "175",
    age: "38",
    weight: "77",
    job: "dad",
  },
  min: {
    hight: "155",
    age: "39",
    weight: "55",
    job: "mom",
  },
  joshua: {
    hight: "100",
    age: "3",
    weight: "13",
    job: "boy",
  },
  carol: {
    hight: "80",
    age: "1",
    weight: "10",
    job: "girl",
  },
};

const ref = firebase.database().ref("home");
ref.set(data); //*寫入資料

確認 Firebase 是否同步呈現,

RealTime Database

db

看起來是有的。

使用 orderByChild() 做排序

Node.js 有一個排序方法 orderByChild() 可用來抓取要排序的屬性,這邊使用 age 屬性當作此資料排序。

sort.js

ref.orderByChild("age").once("value", function (snapshot) {
  console.log(snapshot.val());
});

透過開發人員工具可以看到取到並且有排序的結果。

dev tool

data

取得所有排序資料 forEach()

Node.js 也有一個方法叫做 forEach,用法跟 JS 的 forEach 一樣,並且也可以使用箭頭函式,因為要可以給 JS 讀取的格式,所以讀取資料的值要使用 val()

截至目前為止操作資料的方式都跟 JS 非常相似,只是概念不同,故算滿好上手的。

sort.js

ref.orderByChild("age").once("value", function (snapshot) {
  snapshot.forEach((item) => {
    console.log(item.val());
  });
});

dev tool

dev

這樣就可以依照指定條件做排序了。

Demo:https://codepen.io/hnzxewqw/pen/QWrvNJv


上一篇
Node.js - 寫一個簡單的 Todolist:刪除資料
下一篇
Node.js - 搜尋區間 startAt()、endAt()、equalto()
系列文
Node.js 從零開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言